package com.todo.biz.iface.backend;

import com.todo.biz.iface.backend.request.*;
import com.todo.biz.iface.backend.response.DictDetailResp;
import com.todo.common.common.entity.response.BizResponse;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/12/9 16:21
 * @description
 */
public interface DictBackendIface {

    /**
     * 插入字典
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertDict(InsertDictReq req);

    /**
     * 更新字典
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateDict(UpdateDictReq req);

    /**
     * 删除字典
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeDictById(RemoveDictByIdReq req);

    /**
     * 根据id查询字典
     *
     * @param req
     * @return
     */
    BizResponse<DictDetailResp> queryDictById(QueryDictByIdReq req);

    /**
     * 根据业务code和场景code查询字典详情
     *
     * @param req
     * @return
     */
    BizResponse<DictDetailResp> queryDictDetail(QueryDictDetailReq req);

    /**
     * 查询字典列表
     *
     * @param
     * @return
     */
    BizResponse<List<DictDetailResp>> queryDictDetailList();

    /**
     * 重置缓存并获取字典列表
     *
     * @param
     * @return
     */
    BizResponse<List<DictDetailResp>> queryDictListAndResetCache();

}
